package com.sayimo.maker.mall.goods.service;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import com.sayimo.framework.exception.ServiceException;
import com.sayimo.maker.mall.goods.vo.GoodsList;





/**
 * @Project: schoolmallapi
 * @ClassName: GoodsListInterfaceService
 * @Description: 商品列表service
 * @Author: 曹频辉
 * @Date: 日期：2016年1月4日 时间：上午10:11:03
 * @Version 1.0.0
 */
public interface GoodsListInterfaceService {
	
	/** 
	* @Title: queryGoodsById 
	* @Description: 商品详情
	* @param goodsId
	* @param areaCode
	* @param isActivity
	* @param normsValueId
	* @param customerId
	* @throws ServiceException
	* @return Map
	*/ 
	@SuppressWarnings("rawtypes")
	public Map updateQueryGoodsById(Integer normsValueId,Integer goodsId,Integer customerId,String areaCode,String isActivity,String identifier, Integer seckillTimesId) throws ServiceException;
	
	/** 
	* @Title: queryGoodsListById 
	* @Author: 王瑞清
	* @Date:日期：2016年1月5日  时间：上午11:43:43
	* @Description: 按ID查询
	* @param id
	* @throws ServiceException
	* @return GoodsList
	* @Version 1.0.0
	*/ 
	public GoodsList queryGoodsListById(Integer id) throws ServiceException;
	
	/**
	 * 
	 * @MethodName searchGoodsByName
	 * @Description 首页商品搜索
	 * 
	 * @author chenpy
	 * @date 2016年1月6日 下午3:25:50
	 * @param 
	 * @return Map
	 * @VERSION 1.0.0
	 */
	@SuppressWarnings("rawtypes")
	public Map searchGoodsByName(String mallType,String goodsName,String providerId) throws ServiceException;
	
	/**
	 * 
	 * @MethodName searchGoodsByName
	 * @Description 首页商品统计
	 * 
	 * @author chenpy
	 * @date 2016年1月6日 下午3:25:50
	 * @param 
	 * @return Map
	 * @VERSION 1.0.0
	 */
	@SuppressWarnings("rawtypes")
	public Map getGoodsCount() throws ServiceException;
	
	/**
	 * 
	 * @MethodName selectGoodsInfoByOrdersIds
	 * @Description 按订单ID集合查询商品信息
	 * 
	 * @author chenpy
	 * @date 2016年1月8日 下午5:20:16
	 * @param 
	 * @return List<GoodsList>
	 * @VERSION 1.0.0
	 */
	public List<GoodsList> selectGoodsInfoByOrdersIds(List<Integer> ordersIds) throws ServiceException;
	
	/**
	 * 
	 * @MethodName batchUpdateGoodsList
	 * @Description 批量修改商品信息
	 * 
	 * @author chenpy
	 * @date 2016年1月8日 下午5:20:16
	 * @param 
	 * @return List<GoodsList>
	 * @VERSION 1.0.0
	 */
	public int batchUpdateGoodsList(List<GoodsList> goodsLists) throws ServiceException;
	
	
	/** 
	* @Title: queryGoodsListProviderByIds 
	* @Author: 王瑞清
	* @Date:日期：2016年1月9日  时间：上午11:41:41
	* @Description: ID集合
	* @param ids
	* @throws ServiceException
	* @return Map<String,Object>
	* @Version 1.0.0
	*/ 
	public List<Object> queryGoodsListProviderByIds(List<Integer> ids) throws ServiceException;
	
	/**
	 * 
	 * @MethodName queryGoodsBrokerageById
	 * @Description 获取商品佣金
	 * 
	 * @author chenpy
	 * @date 2016年1月13日 下午2:25:54
	 * @param 
	 * @return List<Object>
	 * @VERSION 1.0.0
	 */
	public Map queryGoodsBrokerageById(Integer id) throws ServiceException;
	/**
	 * 
	* @Title: queryGoodsListOfActivity 
	* @Description: 查询活动商品列表
	* @param request
	* @return
	* @throws ServiceException
	* @return Map
	* @throws
	 */
	public  Map queryGoodsListOfActivity(String identifier,String goodsName)throws ServiceException;
	
	
	
	 /**
	 * @Package com.sayimo.school.mall.module.goods.service
	 * @Author 龚益君
	 * @MethodName:getGoodsInfoByGoodsId
	 * @Description:
	 * @param request
	 * @return
	 * @throws ServiceException
	 * @Date 2016年5月27日,下午3:31:38
	 */
	public Map<String ,Object> getGoodsInfoByGoodsId(HttpServletRequest request)throws ServiceException;
	
	
	 /**
	 * @Package com.sayimo.school.mall.module.goods.service
	 * @Author 龚益君
	 * @MethodName:queryGoodsListOfMoldbaby
	 * @Description:爆款商品列表
	 * @param request
	 * @return Map<String ,Object>
	 * @throws ServiceException
	 * @Date 2016年5月27日,下午3:29:33
	 */
	public Map<String ,Object> queryGoodsListOfMoldbaby(String identifier,String goodsName) throws ServiceException;
	
	/**
	 * 
	* @Title: updateStatus 
	* @Author: 田超
	* @Date:日期：2016年6月28日  时间：下午6:16:47
	* @Description: 更新商品状态
	* @param paramMap
	* @return
	* @throws ServiceException
	* @return Integer
	* @Version 1.0.0
	 */
	public Integer updateStatus(Map<String, Object> paramMap) throws ServiceException;

	/** 
	  * @package com.sayimo.school.mall.module.goods.service
	  * @author chenpy
	  * @Title:  
	  * @Description: 前端商品搜索时提示建议
	  * @param 
	  * @throws ServiceException
	  * @return Map<String,Object>
	  * @date 2016年8月15日
	  */ 
	public Map<String, Object> suggestGoodsSearch(String mallType,String goodsName,Integer type,String classId)throws ServiceException;
	/** 
	* @Title: unionShopList 
	* @Description: 联盟商家列表
	* @param request
	* @return
	* @return Map<String,Object>
	* @throws 
	*/
	public Map<String, Object> unionShopList(Integer unionshopClassId,String longitude,String latitude,Integer pageNow,Integer pageSize,String providerName) throws ServiceException ;
	/**
	 * @Package com.sayimo.maker.mall.goods.service
	 * @Author TANXIN
	 * @MethodName:unionShopById
	 * @Description:联盟商家详情
	 * @param providerId
	 * @return
	 * @throws ServiceException
	 * @Date 2017年2月18日,下午2:06:44
	 */
	public Map<String, Object> unionShopById(Integer providerId) throws ServiceException ;
	
}
